//
//  XQStepModel.h
//  XQBluetoothSDK
//
//  Created by 包月兴 on 16/6/21.
//  Copyright © 2016年 包月兴. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface XQStepModel : NSObject
///运动日期(格式 YYYYMMdd "20160612")
@property (nonatomic,assign) NSInteger date;
///运动开始秒(0~86400 一天划分成86400秒)
@property (nonatomic,assign) NSInteger start_ts;
///运动结束秒(0~86400 一天划分成86400秒)
@property (nonatomic,assign) NSInteger end_ts;
///运动步数
@property (nonatomic,assign) NSInteger steps;

/**
 *  获取行走距离
 *
 *  @param steps 步数
 *  @param date  日期(yyyyMMdd)
 *
 *  @return 行走距离(米)
 */
+(CGFloat)gainMileageWithSteps:(NSInteger)steps date:(NSInteger)date;

/**
 *  获取卡路里
 *
 *  @param steps 步数
 *  @param date  日期(yyyyMMdd)
 *
 *  @return 卡路里(千卡)
 */
+(CGFloat)gainCalorieWithSteps:(NSInteger)steps date:(NSInteger)date;

/**
 *  获取某天运动详情(异步)
 *
 *  @param date        日期(yyyyMMdd)
 *  @param compeletion 完成(运动详情数组<XQStepModel对象>,总步数,消耗卡路里,总里程，总时长)
 */
+(void)gainSportDetailWithDate:(NSInteger)date compeletion:(void(^)(NSArray<XQStepModel *>*steps,NSInteger totalSteps,CGFloat calorie,CGFloat mileage,NSInteger sprotDuration))compeletion;

/**
 *  获取某天运动详情(同步)
 *
 *  @param date 日期(yyyyMMdd)
 *
 *  @return (运动详情数组<XQStepModel对象>,总步数,消耗卡路里,总里程，总时长)
 */
+(NSDictionary *)gainSportDetailWithDate:(NSInteger)date;

/**
 *  周统计(异步)
 *
 *  @param serial      序号(从0递增 0表示本周 1标示上周)
 *  @param compeletion 完成(averageSteps-->均步数,averageCalorie-->均消耗卡路里(大卡),averageMileage-->均里程(米),averageSprotDuratipn-->均运动时间(分钟),description-->描述周时间段区间(如：本周,上周,7/3-7/9等等),totalDay-->统计天数)
 */
+(void)gainWeekCountDetailWithSerial:(NSInteger)serial compeletion:(void(^)(NSInteger averageSteps,CGFloat averageCalorie,CGFloat averageMileage,CGFloat averageSprotDuration,NSString *description,NSInteger totalDay))compeletion;


/**
 *  周统计(同步)
 *
 *  @param serial  序号(从0递增 0表示本周 1标示上周)
 *
 *  @return @(averageSteps-->均步数,averageCalorie-->均消耗卡路里(大卡),averageMileage-->均里程(米),averageSprotDuratipn-->均运动时间(分钟),description-->描述周时间段区间(如：本周,上周,7/3-7/9等等),totalDay-->统计天数)
 */
+(NSDictionary *)gainWeekCountDetailWithSerial:(NSInteger)serial;

/**
 *  月统计(异步)
 *
 *  @param serial      序号(从0递增 0表示本月 1标示上月)
 *  @param compeletion 完成(averageSteps-->均步数,averageCalorie-->均消耗卡路里(大卡),averageMileage-->均里程(米),averageSprotDuratipn-->均运动时间(分钟),description-->描述周时间段区间(如：本月,上月,5月等等),totalDay-->统计天数)
 */
+(void)gainMonthCountDetailWithSerial:(NSInteger)serial compeletion:(void(^)(NSInteger averageSteps,CGFloat averageCalorie,CGFloat averageMileage,CGFloat averageSprotDuratipn,NSString *description,NSInteger totalDay))compeletion;
/**
 *  月统计(同步)
 *
 *  @param serial 序号(从0递增 0表示本月 1标示上月)
 *
 *  @return @(averageSteps-->均步数,averageCalorie-->均消耗卡路里(大卡),averageMileage-->均里程(米),averageSprotDuratipn-->均运动时间(分钟),description-->描述周时间段区间(如：本月,上月,5月等等),totalDay-->统计天数)
 */
+(NSDictionary *)gainMonthCountDetailWithSerial:(NSInteger)serial;
/**
 清除运动数据
 
 @param startDate 开始日期(yyyyMMdd)
 @param endDate   结束日期(yyyyMMdd)
 */
+(void)deleteStepDataWithStartDate:(NSInteger)startDate endDate:(NSInteger)endDate;
 
/**
 清除某天运动数据
 
 @param date 日期(yyyyMMdd)
 */
+(void)deleteStepDataWithDate:(NSInteger)date;


@end
